home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr01 / halcn305.zip / GSDMO_06.PAS < prev    next >
Pascal/Delphi Source File  |  1993-05-02  |  2KB  |  78 lines

  1. program GSDMO_06;
  2. {------------------------------------------------------------------------------
  3.                               DBase File Indexing
  4.  
  5.        Copyright (c)  Richard F. Griffin
  6.  
  7.        20 January 1993
  8.  
  9.        102 Molded Stone Pl
  10.        Warner Robins, GA  31088
  11.  
  12.        -------------------------------------------------------------
  13.        This program demonstrates how dBase files may be indexed using
  14.        Griffin Solutions units.
  15.  
  16.        If the GSDMO_01.DBF file does not exist, the program will display a
  17.        a message that the file was not found and to run GSDMO_01 to make
  18.        the file.
  19.  
  20.        The program opens a dBase file, creates an index on LASTNAME,
  21.        and proceeds to list selected fields from each record in LASTNAME
  22.        sequence.
  23.  
  24.        New procedures/functions introduced are:
  25.  
  26.                  Index
  27.                  IndexOn
  28.  
  29. -------------------------------------------------------------------------------}
  30.  
  31. uses
  32.    GSOBShel,
  33.    {$IFDEF WINDOWS}
  34.       WinCRT,
  35.       WinDOS;
  36.    {$ELSE}
  37.       CRT,
  38.       DOS;
  39.    {$ENDIF}
  40.  
  41.  
  42. var
  43.    MIndx   : integer;
  44.  
  45. begin
  46.    ClrScr;
  47.    if not FileExist('GSDMO_01.DBF') then
  48.    begin
  49.       writeln('File GSDMO_01.DBF not found.  Run GSDMO_01 to create.');
  50.       halt;
  51.    end;
  52.                        {The 'Real' example starts here}
  53.  
  54.    Select(1);
  55.    Use('GSDMO_01');
  56.  
  57.                 {use IndexOn to create the index}
  58.                 {This is only needed the first time through}
  59.                 {It can be commented out for future runs}
  60.                 {and Index('GSDMO_06') used to open the index}
  61.  
  62.    IndexOn('GSDMO_06','LASTNAME');
  63.  
  64. {   Index('GSDMO_06');}
  65.  
  66.    GoTop;
  67.    while not dEOF do
  68.    begin
  69.       writeln(FieldGet('LASTNAME'),' ',
  70.               FieldGet('FIRSTNAME'),'  ',
  71.               FieldGet('BIRTHDATE'));
  72.       Skip(1);
  73.    end;
  74.    CloseDataBases;
  75.    write('Press any Key to continue:');
  76.    repeat until KeyPressed;
  77. end.
  78.